﻿using QuarryPlanner.Domain.DTOs;
using System.Collections.Generic;

namespace QuarryPlanner.Domain.Interfaces.Persistence
{
    // Author: Ryan Redburn
    // Created: 10/20/2014

    #region [ Updates ]

    // Author: Ryan Redburn
    // Date: 11/5/2014
    // Revision: Added method definitions for interacting with MobileVehicleExamDTO.

    // Author: Ryan Redburn
    // Date: 11/10/2014
    // Revision: Added method definitions for interacting with WorkPlaceExamDTO.

    #endregion

    /// <summary>
    /// Interface used to define required functionality for a daily report repository.
    /// </summary>
    public interface IDailyReportRepository
    {
        QuarryHoursDTO FindQuarryHoursByID(int id);
        IEnumerable<QuarryHoursDTO> FindAllQuarryHours();
        void Insert(QuarryHoursDTO quarryHours);
        void Delete(QuarryHoursDTO quarryHours);

        MobileVehicleExamDTO FindMVEByID(int id);
        IEnumerable<MobileVehicleExamDTO> FindAllMVE();
        void Insert(MobileVehicleExamDTO mve);
        void Delete(MobileVehicleExamDTO mve);

        WorkPlaceExamDTO FindWPEByID(int id);
        IEnumerable<WorkPlaceExamDTO> FindAllWPE();
        void Insert(WorkPlaceExamDTO wpe);
        void Delete(WorkPlaceExamDTO wpe);
    }
}
